iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
1

哈嘍,大家好

今天要來學習不小心被我 git reset 後的 commit 惹~

首先,複習一下昨天講的, git reset 都不是真的把 commit 的版本刪掉或是重新設定的意思喔,他們只是暫時看不到,隨時都可以撿回來D。

先來看看我的 commit 紀錄有四筆。
commit 紀錄


今天我要回到前一個 commit 版本,所以輸入了 git reset master^
會看到我的紀錄剩三筆。
git reset master^ 回到前一個 commi t版本

那我今天要回到我剛 reset 掉的紀錄該怎麼做呢?

記得昨天的說過的三個模式嗎?
這裡是預設模式,所以 commit 會放到工作目錄上,不會留在暫存區。

我們就再 reset 回去就可以嚕!reset 到剛剛的c30e74e。
git reset 紀錄

--hard 可以強迫放棄 reset 掉的檔案。

再看一次我們的紀錄
git reset --hard 強迫放棄 reset 掉的檔案
--回來惹!


欸...問題來惹

識別碼哪裡記得住呢

別擔心,輸入 git reflog 就可以查詢到 reset 的檔案嚕!
git reflog 查詢到 reset 的檔
--是不是一清二楚R

輸入 git log -ggit reflog也一樣喲!


雖然 reset 的英文是重新設定的意思,但在 Git 裡比較像是 「變成」或是「前往」的意思。所以我們就可以想成前往到上一次的 commit 或是前往到某某識別碼的版本喲!:)

就算不小心使用 --hard 掉的 commit 都可以再回來喲!再次提醒,只要不是刪掉 .git 一切都還可以再重來!真的很重要R( ˘・з・)


上一篇
Day13【Git與GitHub】工作狀態還原(補充)
下一篇
Day15【Git與GitHub】Git 雜學(一)
系列文
Git與Github-30天學習歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言